Problem: 面试题 10.01. 合并排序的数组
将A
合并到B
,然后排序
先for i, 0 -> n
循环一遍,将B
连接在A
后面(反正题目保证了的,A
能容纳B
的数据)
把A
排序一遍
时间复杂度:
空间复杂度:
xxxxxxxxxx
class Solution {
public:
void merge(vector<int>& A, int m, vector<int>& B, int n) {
for (int i = 0; i < n; i++) {
A[i + m] = B[i];
}
sort(A.begin(), A.end());
}
};
xxxxxxxxxx
class Solution:
def merge(self, A: List[int], m: int, B: List[int], n: int) -> None:
"""
Do not return anything, modify A in-place instead.
"""
for i in range(n):
A[m + i] = B[i]
A.sort()
xxxxxxxxxx
public class Solution {
public void Merge(int[] A, int m, int[] B, int n) {
for (int i = 0; i < n; i++) {
A[m + i] = B[i];
}
Array.Sort(A);
}
}
这应该是我写过的最简单的题解了 [doge]